package at.jku.pervasive;

import java.util.List;
import java.util.Map;

/**
 * Listener for application related events.
 * @author clemens
 */
public interface ApplicationListener
{

	/**
	 * Invoked when the tracing of a tag has started.
	 * @param tagId id of the traced tag
	 */
	public void startedTracingTag(String tagId);

	/**
	 * Invoked when the tracing of a tag has stopped.
	 * @param tagId id of the traced tag
	 */
	public void stoppedTracingTag(String tagId);

	/**
	 * Invoked when the listening for tag positions has started.
	 * @param host
	 * @param port
	 */
	public void startedListening(String host, int port);

	/**
	 * Invoked when the listening for tag positions has stopped.
	 * @param host
	 * @param port
	 */
	public void stoppedListening(String host, int port);

	/**
	 * Invoked, when the tag assignment has changed.
	 * @param tagAssignment changed TagAssignment
	 * @param tagId id of the tag for this TagAssignment
	 */
	public void tagAssignmentChanged(TagAssignment tagAssignment, String tagId);

}
